Un oggetto App GeoFeature, o formalmente un App::GeoFeature
, è la classe base della maggior parte degli oggetti che visualizzano elementi geometrici nella vista 3D perché include una proprietà DatiPosizionamento.
Diagramma semplificato delle relazioni tra gli oggetti principali in FreeCAD
App GeoFeature è un oggetto interno, quindi non può essere creato dall'interfaccia grafica. In genere non è pensato per essere utilizzato direttamente, ma può essere suddiviso in sottoclassi per ottenere un oggetto vuoto che ha solo la proprietà di base DatiPlacement per definire la sua posizione nella vista 3D .
Alcuni degli oggetti derivati più importanti sono i seguenti:
Quando si crea questo oggetto in Python, invece di sottoclassare App::GeoFeature
, è necessario sottoclassare App::GeometryPython
perché quest'ultimo include di default un provider di visualizzazione e gli attributi Proxy
per l'oggetto stesso e il relativo provider di visualizzazione. Vedere Script.
Vedere Proprietà per tutti i tipi di proprietà che possono avere gli oggetti con script.
L'oggetto App GeoFeature (classe App::GeoFeature
) è derivato dall'oggetto base App DocumentObject (classe App::DocumentObject
) ed eredita tutte le sue proprietà. Inoltre ha una proprietà DatiPlacement, che controlla la sua posizione nella 3D view.
Vedere Proprietà per tutti i tipi di proprietà che possono avere gli oggetti con script.
La classe App GeometryPython (App::GeometryPython
) è derivata dalla classe di base App GeoFeature (App::GeoFeature
) ed eredita tutte le sue proprietà. Ha anche diverse proprietà aggiuntive.
Queste sono le proprietà disponibili nell'editor delle proprietà. Le proprietà nascoste possono essere mostrate usando il comando Mostra tutto nel menu contestuale dell'editor delle proprietà.
Base
PythonObject
): una classe personalizzata associata a questo oggetto.Placement
): la posizione dell'oggetto nella vista 3D. Il posizionamento è definito da un punto Base
(vettore) e da una Rotazione
(asse e angolo). Vedi Posizionamento.
0°
(zero gradi).0
e 1
. Se qualsiasi valore è superiore a 1
, il vettore viene normalizzato in modo che la grandezza del vettore sia 1
. Per impostazione predefinita, è l'asse Z positivo, (0, 0, 1)
.(0, 0, 0)
.String
): il nome modificabile dall'utente di questo oggetto, è una stringa UTF8 arbitraria.String
): una descrizione di questo oggetto più lunga e modificabile dall'utente, è una stringa UTF8 arbitraria che può includere ritorni a capo. Per impostazione predefinita, è una stringa vuota ""
.ExpressionEngine
): un elenco di espressioni. Per impostazione predefinita, è vuoto []
.Bool
): se visualizzare o meno l'oggetto.
Base
PythonObject
): una classe viewprovider personalizzata associata a questo oggetto.Display Options
Bool
): se è true
, l'oggetto mostrerà il riquadro di delimitazione nella vista 3D.Enumeration
): vedere le informazioni in App FeaturePython.Bool
): vedere le informazioni in App FeaturePython.Bool
): vedere le informazioni in App FeaturePython.Object Style
Color
): una tupla di tre valori RGB in virgola mobile (r,g,b)
per definire il colore delle facce nella vista 3D; per impostazione predefinita è (0.8, 0.8, 0.8)
, che viene visualizzato come [204, 204, 204]
su base 255, un grigio chiaro .Material
): un App Material associato a questo oggetto. Per impostazione predefinita è vuoto.Percent
): un numero intero da 0
a 100
che determina il livello di trasparenza delle facce nella vista 3D. Un valore di 100
indica facce completamente invisibili; le facce sono invisibili ma possono comunque essere selezionate purché VistaSelectable sia true
.Selection
Enumeration
): vedere le informazioni in App FeaturePython.Bool
): se è true
, l'oggetto può essere selezionato con il puntatore nella vista 3D. Altrimenti, l'oggetto non potrà essere selezionato finché questa opzione non sarà impostata su true
.Enumeration
): vedere le informazioni in App FeaturePython.
Vedere anche: Script di base per FreeCAD, e script di oggetti.
Vedere Part Feature per le informazioni generali sull'aggiunta di oggetti al documento.
Una GeoFeature viene creata con il metodo addObject()
del documento. Se si desidera creare un oggetto con una forma topologica 2D o 3D, potrebbe essere meglio creare una delle sottoclassi specializzate per la gestione delle forme, ad esempio Part Feature o Part Part2DObject.
import FreeCAD as App
doc = App.newDocument()
obj = App.ActiveDocument.addObject("App::GeoFeature", "Name")
obj.Label = "Custom label"
Per la sottoclasse Python si dovrebbe creare l'oggetto App::GeometryPython
.
import FreeCAD as App
doc = App.newDocument()
obj = App.ActiveDocument.addObject("App::GeometryPython", "Name")
obj.Label = "Custom label"